package com.zhongfl.crm.service;

import com.zhongfl.crm.model.LxCustomerOrder;
import com.zhongfl.crm.model.OrderType;
import com.zhongfl.crm.request.LxCustomerOrderRequest;

import java.util.List;

/**
 * @author wang.yuchuan
 * @date 2018/9/19
 */
public interface LxCustomerOrderService {

    /**
     * 查询全部励销客户订单业务
     *
     * @return 励销客户订单对象集合
     */
    List<LxCustomerOrder> findAllLxCustomerOrder();

    /**
     * 分页查询励销客户订单业务
     *
     * @param lxCustomerOrderRequest 分页查询对象
     * @return 客户订单对象集合
     */
    List<LxCustomerOrder> findLxCustomerOrderByPage(LxCustomerOrderRequest lxCustomerOrderRequest);

    /**
     * 查询全部订单状态业务
     *
     * @return 订单状态对象集合
     */
    List<OrderType> findAllStage();

    /**
     * 按照客户订单ID查询订单详情业务
     *
     * @param id 客户订单ID
     * @return 客户订单数据对象
     */
    LxCustomerOrder findById(Long id);

    /**
     * 删除一条业务
     *
     * @param id 客户订单ID
     */
    void deleteById(Long id);

    /**
     * 插入一条业务
     *
     * @param saveCustomerOrder 客户订单对象
     */
    void insert(LxCustomerOrder saveCustomerOrder);

    /**
     * 修改一条业务
     *
     * @param updateCustomerOrder 客户订单对象
     */
    void updateById(LxCustomerOrder updateCustomerOrder);


    /**
     * 按励销渠道id查询客户订单
     * @return
     */
    List<LxCustomerOrder> findLxCustomerOrderByCustomerId(LxCustomerOrderRequest lxCustomerOrderRequest);
}
